﻿//* Copyright(C) 2005-2012, all rights reserved.
//*
//* The following code is copyrighted and contains proprietary information
/* and trade secrets of Foxit Software Inc.      
**************************************************************************
*/

/**
MainFrm鼠标事件接口类
*/


define(function (require, exports, module) {
    require('./Event.js');

    /**
     * @description Represents the base interface for viewer mouse event handler.
     * Unlike WebPDF.Event.IReaderMousePtHandler,
     * the mouse event will be processed by IReaderMainFrmEventHandler even if
     * the event has been processed by current tool(WebPDF.Tools.IReaderToolHandler).
     * @see {@link WebPDF.Tools.IReaderToolHandler} for further information.
     * @class
     * @memberOf WebPDF.Event
     */
    WebPDF.Event.IReaderMainFrmEventHandler = function () {
    };

    WebPDF.Event.IReaderMainFrmEventHandler.prototype =
    {
    	/**
    	  * @description Get name of this handler.
    	  * @return {String} Name of this handler.
        */
        getType: function () { return "Interface"; },
        /**
         * @description The event triggers when the left mouse button is down.
         * @param {Object} event The event object containing mouse coordinates.
         * @return {Boolean} Return true if you don't want other event handler to process this event, otherwise return false.
         */
        onLButtonDown: function (event) { return false; },
        /**
         * @description The event triggered when the left mouse button is up.
         * @param {Object} event The event object containing mouse coordinates.
         * @return {Boolean} return true if you don't want other event handler to process this event, otherwise return false.
         */
        onLButtonUp: function (event) { return false; },
        /**
         * @description The event triggers when the mouse left button is double clicked.
         * @param {Object} event The event object containing mouse coordinates.
         * @return {Boolean} Return true if you don't want other event handler to process this event, otherwise return false.
         */
        onMouseMove: function (event) { return false; },
        /**
         * @description The event triggers when the mouse leaves the viewer area.
         * @param {Object} event The event object containing mouse coordinates.
         * @return {Boolean}  Return true if you don't want other event handler to process this event, otherwise return false.
         */
        onMouseLeave: function (event) { return false; },
        onMouseOut: function (event) { return false; }
    };

    /*
    WebPDF.Event.IReaderMainFrmEventHandler.ensureInterface = function (subclass) {
        Interface.ensureImplements(subclass, MousePtInterface);
    };*/

    return WebPDF.Event.IReaderMainFrmEventHandler;
});